﻿namespace PillBox.Client.ViewModels
{
    using System.ComponentModel.Composition;
    using PillBox.Client.Framework;

    [Export]
    public class HomeViewModel : ViewModelBase
    {
        [ImportingConstructor]
        public HomeViewModel(
            PeopleViewModel peopleViewModel,
            ScheduleSelectionViewModel scheduleSelectionViewModel,
            NotesViewModel notesViewModel,
            MedicationViewModel medicationViewModel)
        {
            this.People = peopleViewModel;
            this.Schedule = scheduleSelectionViewModel;
            this.Notes = notesViewModel;
            this.Medication = medicationViewModel;
        }

        public PeopleViewModel People
        {
            get;
            set;
        }

        public ScheduleSelectionViewModel Schedule
        {
            get;
            set;
        }

        public NotesViewModel Notes
        {
            get;
            set;
        }

        public MedicationViewModel Medication
        {
            get;
            set;
        }

        public override void Activate()
        {
            base.Activate();

            this.People.Activate();
            this.Schedule.Activate();
            this.Notes.Activate();
            this.Medication.Activate();
        }
    }
}